const jsonwebtoken = require('jsonwebtoken')
const { secret } = require('../config')
const User = require('../models/User')


class UserControl {

  async login(ctx) {
    const { username, password } = ctx.request.body;
    const result = await User.findOne({ username, password })
    ctx.body = { result }
  }

  async userInfo(ctx) {

  }

  // async login(ctx) {
  //   ctx.verifyParams({
  //     name: { type: "string",require: true },
  //     password: { type: 'string',require: true }
  //   })
  //   // 注意箭头函数的 {} return
  //   const user = db.some((val) =>  {return val.name === ctx.request.body.name && val.password === ctx.request.body.password})
  //   console.log(user, 'user---user')
  //   if (!user) ctx.throw(401, '用户名或者密码不对')
  //   const { id, name, password } = ctx.request.body
  //   // 从数据库中查找出名字，然后生成token;
  //   const token = jsonwebtoken.sign({ id, name, password }, secret)
  //   ctx.body = { token };
  // }

  // async find (ctx) {
  //   ctx.set('Allow', 'GET,POST')
  //   ctx.body = db;
  // }

  // async findId (ctx) {
  //   ctx.body = db[ctx.params.id * 1]
  // }

  // async add(ctx) {
  //   db.push(ctx.request.body)
  //   ctx.body = ctx.request.body;
  //   // ctx.throw(401, '用户未授权，赶紧登陆吧')
  // }

  // async updateById(ctx) {
  //   console.log(ctx.params.id, 'ctx')
  //   db[ctx.params.id*1] = ctx.request.body;
  //   ctx.body = ctx.request.body
  // }

  // async deleteById(ctx) {
  //   db.splice(ctx.params.id, 1)
  //   ctx.status = 204;
  //   ctx.body = ctx.params.id
  // }

  // // 权限
  // async checkOwner(ctx, next) {
  //   // console.log(ctx.state, '-----', 'ctx----ctx')
  //   console.log(ctx.params.id, '---', ctx.state.user.id)
  //   if(ctx.params.id * 1 !== ctx.state.user.id) {
  //     ctx.throw(403, '没有权限')
  //   }
  //   await next()
  // }
}

module.exports = new UserControl()
